home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1985 June
/
Ahoy_Magazine_85-06_1985_Double_L.d64
/
rupert 1
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
1KB
|
41 lines
0 rem << rr18-1 >>
1 rem
2 rem rupert report #18
3 rem listing
4 rem bit map graphics
5 rem
10 def fnsb(n)=peek(mm) or 2^n
20 def fnrb(n)=peek(mm) and (255-2^n)
30 vv=53248 :rem vic-ii register 0
35 :rem >>> put bit map at 8192 <<< (set bit 3 of vic register 24)
40 mm=vv+24 : poke mm,fnsb(3)
45 :rem >>> select bit map mode <<< (set bit 5 of vic register 17)
50 mm=vv+17 : poke mm,fnsb(5)
60 base=8192 :rem start bit map memory
65 :rem >>> clear bit map <<<
70 for mm=base to base+7999
80 poke mm,0 : next mm
85 :rem >>> select colors c1 and c0 <<<
90 c1=1 : c0=0 : cc=16*c1 + c0
95 :rem >>fill screen memory with color
100 for mm=1024 to 2023:poke mm,cc:next
194 :
195 ::rem:: main program ::
196 :
200 for n=1 to 1000
210 x=rnd(0)*320 : y=rnd(0)*200
220 gosub 400 : next
250 for p=1 to 3000 : next
294 :
296 :
300 :rem >>> reset bit map mode <<<
310 mm=vv+17 : poke mm,fnrb(5)
320 :rem >>> restore screen memory base
330 mm=vv+24 : poke mm,fnrb(3)
390 end
395 :rem >>> turn on pixel at (x,y)
400 bit=7-(x and 7)
410 mm=base+320*int(y/8)+8*int(x/8)+(y and 7)
420 poke mm,fnsb(bit)
430 return